import { request } from '@/utils/request.js'

export default {
  /**
   * 獲取所有管理員用戶列表
   * @returns
   */
  getAdminList() {
    return request({
      url: '/api/v1/admin/users',
      method: 'get'
    })
  },
  /**
   * 創建管理員用戶
   * @param {object} data
   * @param {string} data.username
   * @param {string} data.password
   * @param {number} data.roleType
   * @returns
   */
  createAdmin(data = {}) {
    return request({
      url: '/api/v1/admin/users',
      method: 'post',
      data
    })
  },
  /**
   * 根據ID獲取管理員詳情
   * @param {string} params
   * @returns
   */
  getAdminDetail(params) {
    return request({
      url: `/api/v1/admin/users/${params}`,
      method: 'get'
    })
  },
  /**
   * 更新管理員狀態
   * @param {string} params
   * @param {object} data
   * @param {string} data.status
   * @returns
   */
  changeAdminStatus(params, data = {}) {
    return request({
      url: '/api/v1/admin/users/' + params + '/status',
      method: 'put',
      data
    })
  },
  /**
   * 修改當前管理員密碼
   * @param {object} data
   * @param {string} data.oldPassword
   * @param {string} data.newPassword
   * @returns
   */
  updateAdminPassword(data = {}) {
    return request({
      url: '/api/v1/admin/users/change-password',
      method: 'put',
      data
    })
  },
  /**
   * 更新管理員密碼
   * @param {string} params
   * @param {object} data
   * @param {string} data.newPassword
   * @returns
   */
  changeAdminPassword(params, data = {}) {
    return request({
      url: '/api/v1/admin/users/' + params + '/change-password',
      method: 'put',
      data
    })
  }
}
